/**
 * Gets the browsers CSS3 properties that are allowed.
 * Creates a global variable 'CSS3' that containes the browser prefix
 * and all properties allowance.
 * 
 * @return {Object} An object mapping of all the CSS3 properties.
 */
(function getCSS3() {
	// Create the global 'CSS3' property.
	CSS3 = {};

	// The browser prefixes.
	var index,
		jndex,
		style = document.documentElement.style,
		prefix,
		prefixes = ['', '-webkit-', '-moz-', '-o-', '-khtml-', '-ms-'],
		prefixesLength = prefixes.length,
		property,
		properties = ['transition', 'transform'],
		propertiesLength = properties.length;

	// Figure out the correct browser prefix and if CSS3 is allowed.
	for (index = 0; index < prefixesLength; index ++) {
		// Get the prefix.
		prefix = prefixes[index];

		// Go through all of the properties and check if they are available.
		for (jndex = 0; jndex < propertiesLength; jndex ++) {
			// Get the property.
			property = properties[jndex];

			// Check if the property is available.
			if (style[prefix + property] !== undefined) {
				CSS3.prefix = prefix;
				CSS3[property] = true;
			}
		}

		// When a prefix is found, there is no need to continue searching.
		if (CSS3.prefix) {
			break;
		}
	}
	return CSS3;
})();